
#pragma once




typedef void (__stdcall *XSOCKETSENDCALLBACK)(void *, void *, UINT, int);
typedef void (__stdcall *XSOCKETRECEIVECALLBACK)(void *, void *, UINT, int);
typedef void (__stdcall *XSOCKETCONNECTCALLBACK)(void *, void *, int);
typedef void (__stdcall *XMIT_HELPER_ROUTINE)(_MIDL_STUB_MESSAGE *);

typedef char XBYTE;
typedef unsigned char XUBYTE;

typedef char XINT8;
typedef unsigned char XUINT8;


typedef INT16 XINT16;
typedef UINT16 XUINT16;
typedef wchar_t XCHAR;

typedef XCHAR * PXSTR;
typedef const XCHAR * PCXSTR;

typedef unsigned __int64  QWORD;

typedef int XINT32;
typedef UINT XUINT32;



typedef XINT32 XBOOL;
typedef XINT32 XBOOL32;

typedef int XLONG;
typedef unsigned int XULONG;
typedef __int64 XLONG_PTR;

typedef float XFLOAT;
typedef long double XDOUBLE;

typedef __int64 XINT64;
typedef unsigned __int64 XUINT64;

typedef int XRESULT;

//typedef INT64_LARGE_INTEGER XINT64_LARGE_INTEGER;

union XINT64_LARGE_INTEGER
{
	struct
	{
		XUINT32 LowPart;
		XINT32 HighPart;
	};
	XINT64 QuadPart;
};




typedef int XCOUNT;
typedef UINT XUCOUNT;

typedef void *XSOCKET;
typedef int XSOCKLEN_T;


typedef UINT XTraceSuite;

typedef void *XHANDLE;

typedef char XPATHTYPE;

typedef int XNAMESPACE;
typedef int XCLASS;
typedef int XPROPERTY;
typedef int XCOREDEPENDENCYPROPERTYINDEX;
typedef int XEVENT;

typedef int XCORETYPEINDEX;
typedef UINT XUCORETYPEINDEX;

class CCoreServices;
typedef CCoreServices *XCORE;


struct XCONTEXT__
{
	XINT32 unused;
};

typedef XCONTEXT__ *XCONTEXT;

#define MAKEQWORD(a, b)     ((LONG)(((DWORD)(a)) | ((QWORD)((DWORD)(b))) << 32))
#define LOQWORD(l)          ((DWORD)(l))
#define HIQWORD(l)          ((DWORD)(((QWORD)(l) >> 32) & 0xFFFFFFFF))
#define LODWORD(_qw) ((unsigned long)(_qw)) 
#define HIDWORD(_qw) ((unsigned long)(((_qw) >> 32) & 0xffffffff)) 

#define XUINT32_MAX 0xFFFFFFFFu



